import { defineStore } from 'pinia'
//引入接口
import {reqGetLogin}from "@/apis/login/index"
//用户接口携带参数的ts类型
import { loginForm,loginAllResponseData } from '@/apis/login/type'
//创建用户小仓库
let useUserStore = defineStore('User',{
    state:()=>{
        return{
            //获取唯一标识
            token:localStorage.getItem('TOKEN'),
            userInfos:{},
            avatar:'',
            password:'',
            username:'',
            //获取轮播图数据
            bannerList:[],
            //获取商品数据
            productList:[
            ],
            cartItems:{}// 存储购物车中的商品信息

        }
    },
    persist:true,
    actions:{
        // 登录请求
     //用户登录请求
     async  getLogin({account,password}:loginForm){
        let res:loginAllResponseData =await reqGetLogin({account,password})
        console.log(res);
        if(res.msg='操作成功'){
            this.token=res.result.token 
            this.userInfos=res.result
            //本地存储
            localStorage.setItem('TOKEN',res.result.token)
            return 'ok'
        }else{
            return Promise.reject(new Error('操作失败'))
        }
        },
     
    },
    getters:{
        
    }
    

})
// 对外暴露用户小仓库
export default useUserStore